﻿///////////////////////////////////////////////////////////////////////////////
// 文件名： Main.cc
// 作者：   671643387@qq.com
// 日期：   2015年11月2日 下午7:18:02
// 简介：   
///////////////////////////////////////////////////////////////////////////////

#include <tchar.h>
#include <crtdbg.h>
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>

#include <graphics/Root.hpp>
#include "EventDelegate.hpp"

::graphics::graphics::render::RenderPtr __stdcall CreateRender_(void);

int WINAPI _tWinMain(
    __in HINSTANCE hInstance, 
    __in_opt HINSTANCE hPrevInstance, 
    __in_opt LPTSTR lpCmdLine, 
    __in int nShowCmd )
{
    {
        graphics::Root root;
        root.SetEventDelegate(graphics::EventDelegatePtr(new empty::EventDelegate()));
        //graphics::RenderLoader loader(L"dx9.dll");
        graphics::graphics::render::RenderPtr render = CreateRender_();
        if (render)
        {
            root.SetRender(render);
            if (root.Initialize())
            {
                root.Run();
            }
        }
    }
    _CrtDumpMemoryLeaks();
    return 0;
}

